Parallel Type-checking with Saturating LVars

نویسندگان

  • Peter Fogg
  • Sam Tobin-Hochstadt
  • Ryan R. Newton
چکیده

Given the sophistication of recent type systems, unification-based type-checking and inference can be a time-consuming phase of compilation—especially when union types are combined with subtyping. It is natural to consider improving performance through parallelism, but these algorithms are challenging to parallelize due to complicated control structure and difficulties representing data in a way that is both efficient and supports concurrency. We provide a solution to these problems based on the LVish approach to deterministic-by-default parallel programming. We extend LVish with a novel class of concurrent data structures: Saturating LVars, which are the first LVars to safely release memory during the object’s lifetime. Our new design allows us to achieve a parallel speedup on worst-case (exponential) inputs of traditional HindleyMilner inference, and on the Typed-Racket type-checking algorithm, which yields up an 8.46× parallel speedup on type-checking examples drawn from the Racket repository.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Joining Forces Toward a Unified Account of LVars and Convergent Replicated Data Types

LVars—shared memory locations whose semantics are defined in terms of an application-specific lattice—offer a principled approach to deterministic-by-construction, shared-state parallel programming: writes to an LVar take the join of the old and new values with respect to the lattice, while reads from an LVar can observe only that its contents have crossed a specified “threshold” in the lattice...

متن کامل

Freeze After Writing Quasi-Deterministic Parallel Programming with LVars and Handlers

Deterministic-by-construction parallel programming models of-fer programmers the promise of freedom from subtle, hard-to-reproduce nondeterministic bugs in parallel code. A principled ap-proach to deterministic-by-construction parallel programming withshared state is offered by LVars: shared memory locations whosesemantics are defined in terms of a user-specified lattice. Wr...

متن کامل

Thesis Proposal: Lattice-based Data Structures for Deterministic Parallel and Distributed Programming

Deterministic-by-construction parallel programming models guarantee that programs written using them will have the same observable behavior on every run. These models offer the promise of freedom from subtle, hard-to-reproduce bugs caused by schedule nondeterminism. In order to guarantee determinism, though, deterministic-by-construction models must sharply restrict the sharing of state between...

متن کامل

Freeze After Writing Quasi-Deterministic Parallel Programming with LVars and Handlers

Deterministic-by-construction parallel programming models offer programmers the promise of freedom from subtle, hard-toreproduce nondeterministic bugs in parallel code. A principled approach to deterministic-by-construction parallel programming with shared state is offered by LVars: shared memory locations whose semantics are defined in terms of a user-specified lattice. Writes to an LVar take ...

متن کامل

Freeze After Writing Quasi-Deterministic Parallel Programming with LVars and Handlers

Deterministic-by-construction parallel programming models offer programmers the promise of freedom from subtle, hard-toreproduce nondeterministic bugs in parallel code. A principled approach to deterministic-by-construction parallel programming with shared state is offered by LVars: shared memory locations whose semantics are defined in terms of a user-specified lattice. Writes to an LVar take ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015